[iOS 8/Xcode 6] Launch Screen (スプラッシュ画面) を Interface Builder で作成できるようになりました
新規プロジェクトを見てみると…
何気なく Xcode 6 のリリース版で新規プロジェクトを作成してみると…
お!LaunchScreen.xib というファイルがありますね。このファイルは Xcode 6 から新しく作られるようになったわけですが、これは Launch Image のようにアプリ起動時に表示されるスプラッシュ画面のファイルです。いままでは画像ファイルしか使えませんでしたが、何と XIB ファイルを指定できるようになりました。
設定方法
Launch Screen はプロジェクト設定の「General」の「App Icons and Launch Images」から設定できます。XIB ファイルと Storyboard ファイルが指定可能です(Storyboard ファイルを指定した場合は Initial View Controller に設定している View Controller が表示されるようになります)。
または File Inspector の「Use as Launch Screen」にチェックを入れて設定することもできます。この設定は XIB ファイルのみ表示されます。
XIB だと何が良いの?
XIB で指定できることの良さは何と言っても1ファイルですべての画面サイズに対応できるという点です。いままでは 3.5インチ用、4インチ用、iPad用…などと様々な画像を用意しなければいけませんでしたが、Auto Layout とベクター画像の組み合わせることで、どのような画面サイズにも1ファイルで対応できます。
注意点
XIB が扱えるということは、カスタム View が設定できるのでは?と期待したのですが、カスタム View の設定はできないようです。設定したらビルドエラーで怒られてしまいました…。
Launch Screen でアニメーションとか色々設定できるとより嬉しかったのですが、そのようなことは不可能でした。
まとめ
iPhone 6 / iPhone 6 Plus の登場によって Launch Image を用意するのがより面倒になってしまったので、Interface Builder (Auto Layout) で設定できるようになったのはすごく楽でいいですね!